Identifying origin and destination pairs

ABSTRACT

The present disclosure relates to identifying an origin/destination pair. Aspects include identifying an origin/destination pair in a service, which includes determining a current time when the current operation is executed in response to failure of a current operation for recording an origin/destination pair. Aspects also include determining a previous time when a last operation was executed for recording an origin/destination pair and identifying a missing point causing failure of the current operation based on a time interval between the current time and the previous time.

DOMESTIC AND FOREIGN PRIORITY

This application is a continuation of U.S. patent application Ser. No.14/880,407, filed Oct. 12, 2015, which claims priority to Chinese PatentApplication No. 201410599389.6 filed Oct. 30, 2014; and all the benefitsaccruing therefrom under 35 U.S.C. §119, the contents of which in itsentirety are herein incorporated by reference.

BACKGROUND

Embodiments of the present invention relate to a method and apparatusfor identifying origin/destination pairs.

In many services, it is needed to collect information about anorigin/destination pair. For example, integrated circuit (IC) cards havebeen widely applied in public transportation services such as bus andsubway. In use, a user has to swipe card at a start station (origin) anda destination station (destination) so as to generate origin/destinationpair information. Based on such pair information, various operationssuch as charging, route statistics and analysis may be performed to theuser. For another example, in expressway management, electronic roadpricing (ERP) is also required to provide an intelligent trafficmanagement based on origin/destination pair information. For example, ina parking management, information about checking in/out of a parking lotshould generally be required to record, which may also be regarded as akind of origin/destination pair information.

However, during actual use, due to technical reasons such as IC cardfault, POS machine fault, and communication fault, as well as artificialreasons such as subjective negligence, etc., loss of origin ordestination information might be incurred. In this case, it will causeservice failure. For example, in a public transportation system, when auser swipes card at the destination, if the origin information is lost,agate at a terminal will not be opened. Traditionally, this problemneeds to be solved in a manual manner, which will bring variousinconveniences to the user per se, other users and the service provider,particularly at rush time of the service. The same problem also existsin other services such as an ERP service and a parking managementservice.

SUMMARY

In one aspect of the present invention, there is provided a method foridentifying an origin/destination pair in a service. The methodcomprises: in response to failure of a current operation for recordingan origin/destination pair, determining a current time when the currentoperation is executed; determining a previous time when a last operationfor recording an origin/destination pair was executed; and identifying amissing point causing failure of the current operation based on a timeinterval between the current time and the previous time.

In another aspect of the present invention, there is provided anapparatus for identifying an origin/destination pair in a service. Theapparatus includes a current time determining unit configured to, inresponse to failure of a current operation for recording anorigin/destination pair, determine a current time when the currentoperation is executed. The apparatus also includes a previous timedetermining unit configured to determine a previous time when a lastoperation for recording an origin/destination pair was executed and amissing point identifying unit configured to identify a missing pointcausing failure of the current operation based on a time intervalbetween the current time and the previous time.

In another aspect of the present invention, there is provided a computerprogram product for identifying an origin/destination pair in a service,the computer program product including a non-transitory storage mediumreadable by a processing circuit and storing instructions for executionby the processing circuit for performing a method. The method includesdetermining a current time when a current operation is executed inresponse to a failure of the current operation for recording theorigin/destination pair associated with a user. The method also includesdetermining a previous time when a last operation for recording theorigin/destination pair was executed and identifying a missing pointcausing the failure of the current operation based on a time intervalbetween the current time and the previous time.

BRIEF DESCRIPTION OF THE DRAWINGS

Through the more detailed description of some embodiments of the presentdisclosure in the accompanying drawings, the above and other objects,features and advantages of the present disclosure will become moreapparent, wherein:

FIG. 1 shows an example computer system/server which is applicable toimplement embodiments of the present invention;

FIG. 2 shows a schematic flowchart of a method for identifying a missingpoint in an origin/destination pair according to embodiments of thepresent invention;

FIG. 3 shows a schematic flowchart of a method for identifying a missingpoint in an origin/destination pair according to embodiments of thepresent invention; and

FIG. 4 shows a schematic block diagram of an apparatus for identifying amissing point in an origin/destination pair according to embodiments ofthe present invention.

DETAILED DESCRIPTION

Exemplary embodiments will be described in more detail with reference tothe accompanying drawings, where the embodiments of the presentdisclosure have been illustrated. However, the present disclosure can beimplemented in various manners, and thus should not be construed to belimited to the embodiments disclosed herein. On the contrary, thoseembodiments are provided for the thorough and complete understanding ofthe present disclosure, and completely conveying the scope of thepresent disclosure to those skilled in the art.

According to embodiments of the present invention, a user's historicaloperation records or location/movement information within a past periodof time may be flexibly utilized based on a time interval between auser's current operation and the last recorded operation, so as toautomatically identify a missing point in an origin/destination pair.Embodiments of the present invention can accurately identify a missingpoint in a full automatic way, thereby enhancing service efficiency anduser experience. Other features and advantages of the present inventionwill become easily comprehensible through the description below.

Referring now to FIG. 1, where an example computer system/server 12which is applicable to implement embodiments of the present invention isshown. Computer system/server 12 is only illustrative and is notintended to suggest any limitation as to the scope of use orfunctionality of embodiments of the invention described herein.

As shown in FIG. 1, computer system/server 12 is shown in the form of ageneral-purpose computing device. The components of computersystem/server 12 may include, but are not limited to, one or moreprocessors or processing units 16, a system memory 28, and a bus 18 thatcouples various system components including system memory 28 toprocessor 16.

Bus 18 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. By way of example, and not limitation,such architectures include Industry Standard Architecture (ISA) bus,Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnect (PCI) bus.

Computer system/server 12 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 12, and it includes both volatileand non-volatile media, removable and non-removable media.

System memory 28 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 30 and/or cachememory 32. Computer system/server 12 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 34 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 18 by one or more datamedia interfaces. As will be further depicted and described below,memory 28 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 40, having a set (at least one) of program modules 42,may be stored in memory 28 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. Program modules 42 generally carry out the functions and/ormethodologies of embodiments of the invention as described herein.

Computer system/server 12 may also communicate with one or more externaldevices 14 such as a keyboard, a pointing device, a display 24, etc.;one or more devices that enable a user to interact with computersystem/server 12; and/or any devices (e.g., network card, modem, etc.)that enable computer system/server 12 to communicate with one or moreother computing devices. Such communication can occur via Input/Output(I/O) interfaces 22. Still yet, computer system/server 12 cancommunicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 20. As depicted, network adapter 20communicates with the other components of computer system/server 12 viabus 18. It should be understood that although not shown, other hardwareand/or software components could be used in conjunction with computersystem/server 12. Examples include, but are not limited to: microcode,device drivers, redundant processing units, external disk drive arrays,RAID systems, tape drives, and data archival storage systems, etc.

Hereinafter, the mechanism and principle of embodiments of the presentinvention will be described in detail. Unless otherwise stated, the term“based on” used hereinafter and in the claims expresses “at leastpartially based on.” The term “comprise” or “include” or a similarexpression indicates an open inclusion, i.e., “including, but notlimited to . . . . ” The term “plural” or a similar expression indicates“two or more.” The term “one embodiment” indicates “at least oneembodiment.” The term “another embodiment” indicates “at least oneanother embodiment.” Definitions of other terms will be provided in thedescription infra.

FIG. 2 shows a schematic flowchart of a method 200 for identifying amissing point in an origin/destination pair according to embodiments ofthe present invention. In one embodiment, the method 200 may beimplemented by a client device in charge of interacting with a terminaldevice used by the user. For example, in a public transportationmanagement system, the user's terminal device may be a device such as adedicated or general IC card or mobile phone or the like. At this point,the method 200 may be implemented by a gate in charge of interactingwith the terminal device.

In particular, at the ease of discussion, in the description below, acheck-in/check-out management system in a public transportation systemwill be mainly referenced as an example. Correspondingly, the IC cardwill be described as an example of a terminal device, and the gate willbe described as an example of a client. However, it would be appreciatedthat they are only example, not intended to limit the scope of thepresent invention in any manner. Embodiments of the present inventionmay be applicable for any other appropriate fields such as roadmanagement, tolling, parking lot management and the like.

The method 200 starts in step S210, where in response to a failure ofcurrent operation for recording an origin/destination pair, the timewhen a current operation is executed is determined. In the context ofthe present disclosure, an operation for recording an origin/destinationpair is an interactive operation which is performed between a terminaldevice of a user and a client device and which is capable of recordingorigin or destination information in order to form an interactiveoperation of an origin/destination pair.

As an example, when checking in/out a bus station with an IC card, theuser may perform a “card swiping” operation. In other words, the userplaces the IC card at a location close enough to a sensing area of agate, such that the gate can read information in the IC card. The gatemay identify a user's identity through the read information, record theuser's check-in/check-out information, and transmit user information toa backend server, etc. In this point, the card swiping operation is anoperation for recording an origin/destination pair. In otherapplications, any other form of operation for recording anorigin/destination pair is possible.

According to embodiments of the present invention, a service providerrequires paired appearance of the origin and destination so as to forman origin/destination pair. Otherwise, the user's operation will fail.Specifically, in one embodiment, the gate only allows a user to passunidirectionally. For example, a gate arranged at an entry of a busstation only allows a user to enter into a bus station, while a gatearranged at an exit of a bus station only allows a user to leave the busstation. Each time when the user performs a card swiping operation, thegate will record whether the user performs an operation at an exit or atan entry. A plurality of card swiping records of the user may be storedin an IC card in a temporal order.

Therefore, in such an embodiment, when the user swipes card at an entrygate, the gate will read the user's last card swiping record from theuser's IC card. If the entry gate finds that the last card swiping isalso performed at an entry gate, it is determined that a missing pointexists in the origin/destination pair and the type of the missing pointis destination.

Likewise, when the user swipes card at an exit gate, the gate will readthe user's last card swiping record from the user's IC card. If the exitgate finds that the last card swiping is also performed at an exit gate,it is determined that a missing point exists in the origin/destinationpair and the type of the missing point is entry.

In response to detecting that a missing point exists in theorigin/destination pair, in step S210, the gate may determine theexecution time of the current recording operation (e.g., a card swipingoperation). In one embodiment, a gate for executing the method 200 maybe equipped with a clock. In this embodiment, the gate may directly readthe current time. Alternatively, in other embodiments, the gate may alsoobtain the current time from other device such as a backend server.

The method 200 proceeds to step S220, where a time when the lastoperation for recording the origin/destination pair was performed by auser is obtained. As mentioned above, in one embodiment, informationregarding a predetermined number of previous card swiping actionsexecuted by the user may be stored in an IC card. In such an embodiment,the gate may read the time of last card swiping from the IC card.Alternatively or additionally, for example, when the IC card fails orthe storage resource is limited, such information may also be saved in abackend server of the system. Accordingly, the gate may communicate witha backend server and obtains the time of the last card swiping performedby the current user.

In step S230, a missing point causing the failure of the currentoperation for recording the origin/destination pair is identified basedon a time interval between the current time of the current operationobtained in step S210 and the previous time of the last operationobtained in step S220.

Generally, according to embodiments of the present invention, there areat least two kinds of information that may be used for identifying orpredicting a missing origin or destination. The first kind ofinformation is historical information about the user's origins anddestinations, particularly those representative records, i.e., popularorigins and destinations. Another kind of information is the user'slocation/movement information within a specific period of time obtainedthrough technical means such as location sensing. Any kind of the twokinds of information may be used for estimating a missing origin ordestination.

In order to enhance the accuracy of identifying a missing point,according to embodiments of the present invention, in step S230, it isdetermined which one of the historical information about the popularorigins and destinations and the user's location/movement information ismore advantageous for prediction accuracy based on the current operationtime and the last operation time. Generally, a reasonable assumption isthat a longer time interval indicates a strong regularity, while ashorter time interval indicates stronger timeliness. Therefore, in oneembodiment, if the time interval is greater than a predefined adjustablethreshold, it may be believed that the historical information regardingpopular origins and destinations is dominant. Otherwise, if the timeinterval is less than a threshold, it may be believed that the user'srecent activities are dominant.

Reference is now made to FIG. 3 where a schematic flowchart of a method300 for identifying a missing point in an origin/destination pair basedon a time interval between the current operation time and the lastoperation time is shown. It would be appreciated that the method 300 isan example implementation of step S230 in the method 200.

In step S310, it is determined whether the time interval between thetime of the current operation as obtained in step S210 and the time ofthe last operation as obtained in step S220 is greater than a threshold.The threshold may be preset and may also be adjusted during use process.

If the time interval is greater than a threshold (branch “yes”), it isbelieved that the user's historical information about origins anddestinations plays a dominant role in identifying a missing point. Inthis case, the method 300 proceeds to step S320, where information aboutpopular origins and destinations associated with the user is obtained.The popular origins and destinations are obtained through performingstatistics and analysis to the user's historical origin and destinationinformation.

At the ease of discussion, an example of a public transportationmanagement system is still used. The user's entry and exit card swipingrecords may be stored in a corresponding gate; moreover, the most recentseveral records may be temporarily stored in the user's IC card. Thegate may periodically send the user's card swiping records to thebackend server. Therefore, the backend server may obtain the user'sprevious origin and destination information. The backend server mayanalyze these historical data, thereby finding the origins anddestinations frequently used by the user, i.e., popular origins anddestinations. According to embodiments of the present invention, eachpopular origins and destinations have an associated time which indicatesa time when the user arrives at the corresponding point.

Moreover, in one embodiment, a common pattern for origins anddestinations may be determined through analysis. Specifically, a commonpair relationship between origins and destinations may be determined.For example, if it is found through statistics that the user alwayschecks in from Station A at a certain time and checks out from Station Bat a subsequent specific time, it may be believed that pair “A/B” is acommon origin/destination pair. Additionally, different commonorigin/destination pairs may be assigned different priorities. Forexample, each origin/destination pair may be determined based on theirrespective appearance frequencies.

Additionally, in one embodiment, information about popular origin anddestination may be extracted according to different dimensions(including a pattern of a popular origin/destination pair). For example,in one embodiment, information about the popular origin and destinationmay be extracted based on a time dimension. As an example, in oneembodiment, work days (e.g., Monday-Friday) and rest days (e.g.,Saturday to Sunday) may be counted separately. In this way, informationabout the user's popular origins and destinations in work days may beobtained. Similarly, the information about the user's popular originsand destinations in rest days may be obtained.

In one embodiment, the time dimension is not necessarily partitioned bywork days and rest days. For example, the user may designate partitionof time dimensions. For example, the user may indicate: counting popularorigin/destination pairs in Monday-Wednesday and Thursday-Sundayseparately. Additionally, in addition to or supplemental to timedimension, other dimensions may be used. As an example, in oneembodiment, a territory dimension may be used. For example, popularorigins and destinations information in different territories is countedseparately. As will be described hereinafter, such extraction of popularorigin and destination information based on different dimensions isadvantageous to accuracy of identifying a missing point.

According to embodiments of the present invention, any currently knownor future developed data analysis and/or mining technology may be usedin combination with embodiments of the present invention. The scope ofthe present invention is not limited in this aspect.

In step S320, information about the user's popular origins anddestinations within a past period of time may be obtained in anyappropriate manner. For example, in one embodiment, the backend servermay replicate the extracted information about popular origins anddestinations to the user's IC card at an appropriate time. For example,when the user goes to a location specified by a service provider tocomplete a specific task (e.g., fee payment), the information about thepopular origin and destination will be replicated from the backendserver to the IC card. In such an embodiment, the gate may directly readinformation regarding the popular origins and destinations from theuser's IC card. According to embodiments of the present invention, thepopular origins and destinations are sorted according to the priority ortime.

Alternatively or additionally, in response to failure in the user's cardswiping operation, the gate may communicate with the backend server andrequests information about popular origins and destinations associatedwith the user. As a response, the backend server may return informationabout popular origins and destinations to the gate. The communicationbetween the gate and the backend server may be implemented by virtue ofany currently known or future developed communication medium.

Next, in step S330, a missing point causing failure of the current cardswiping operation may be identified based on the obtained informationabout the popular origins and destinations. In one embodiment, in stepS330, a point of the same type as the missing point with the associatedtime prior to the time of the current operation may be selected from thepopular origins and destinations as the missing point.

The type of the missing point indicates whether the point missing in theorigin/destination pair is an origin point or a destination point. Asmentioned above, in a public transportation management system, each gateis arranged at an exit or entry of a bus station. Therefore, if the userfails in an attempt to swipe card at the exit gate, it may be determinedthat the missing previous point is the start point. Otherwise, if theuser fails in swiping card at an entry gate, it may be determined thatthe missing previous point is destination.

Consider a specific example. Suppose the user fails in swiping card atan exit gate of a bus station at 10:00 AM. Then, it may be determinedthat the time of the current operation is 10:00 AM, and the missingpoint is an origin. In this case, a popular origin may be selected fromthe popular origins and destinations obtained in step S320, such thatthe associated time of the popular origin is before 10:00 AM. Theselected popular origin may be determined as a missing point. It wouldbe appreciated that this process is likely applicable to the case wherethe missing point is a destination.

Alternatively, in one embodiment, the information about a popularorigin/destination pair included in the information obtained in stepS320 may be taken into consideration. Specifically, in such anembodiment, based on the time of the current operation and the type ofthe missing point, a reference origin/destination pair matching thecurrent operation may be selected from a popular origin/destinationpair. The term “match” used here refers to the matching in terms of timeand location. A specific example will be described infra. If there are aplurality of matching popular origin/destination pairs, then selectionmay be made based on the priority of each pair. Other selectionmechanism is also feasible, e.g., random selection. Afterwards, themissing point may be identified based on the selected referenceorigin/destination pair.

In the following, the cases where the missing origin and the missingdestination will be discussed separately. First, consider the case ofthe missing point being an origin. Suppose the user fails in swipingcard at an exit of the bus station A at 8:00 AM. Then, the currentoperation time is 8:00 AM, and the missing point is an origin. In thiscase, in popular origin/destination pairs associated with the user, apopular origin/destination pair with the destination being station A andthe operation time being around 8:00 AM may be searched as the referenceorigin/destination pair. In response to finding such referenceorigin/destination pair, the origin in the pair may be determined as themissing point.

On the other hand, if the missing point is a destination, then an originmatching the user's current location and the time of the currentoperation may be searched in popular origin/destination pairs. For thepurpose of discussion, suppose the user fails in swiping card at anentry of the bus station B at 6:10 PM. Then, the time of the currentoperation is 6:10 PM, and the missing point is the destination. In thiscase, in popular origin/destination pairs associated with the user, anorigin/destination pair whose origin is station B and operation time isaround 6:10 PM may be searched as a reference origin/destination pair.In response to finding such reference origin/destination pair, the lastpopular destination temporally adjacent to the origin in the referenceorigin/destination may be determined as a missing point.

In particular, as mentioned above, in one embodiment, the informationabout popular origins and destinations may be extracted based ondifferent dimensions. In such an embodiment, when selecting a referenceorigin/destination pair, the dimensional information may also be takeninto consideration. With the temporal dimension as an example, it may bedetermined whether the current date is a work day or a rest day. If thecurrent date is a work day, the search may only be performed in thepopular origins and destinations for the work day; if the current dateis a rest day, search may be performed only in popular origins anddestinations for the rest day. In this way, the accuracy of identifyingcan be significantly enhanced.

If it is determined in step S310 that the time interval between thecurrent operation time and the time of the last operation is less than apredetermined threshold, it is believed that the user may be in acontinuous activity. Correspondingly, the role played by regularitymight not be as significant as timeliness. Therefore, a missing pointmay be identified based on the user's location/movement information.

To this end, the method 300 proceeds to step S340, where one or morelocations reached by the user during the time interval between the timeof the current operation and the time of the last operation aredetermined. According to embodiments of the present invention, eachlocation determined here corresponds to one potential origin and/ordestination of the service. For example, in the public transportationmanagement system, it may be ensured that a client device such as a gateexists in a predetermined neighboring domain of each determinedlocation.

The user's location information may be obtained through various manners.For example, in one embodiment, the user's location information may beobtained based on a global satellite positioning (GPS) system on theuser's mobile phone or other portable device. Alternatively oradditionally, any appropriate positioning technology such as a cellularnetwork positioning technology may also be used. The scope of thepresent invention is not limited in this aspect.

Next, in step S350, a location is selected from the locations determinedin step S340, and a missing point is identified based on the selectedlocation. Location selection is performed at least based on a type of amissing point. Specifically, if the missing point is an origin, then theselected location should correspond to the origin, e.g., having an entrygate; otherwise, if the missing point is a destination, the selectedlocation should correspond to a destination, e.g., having an exit gate.If there are a plurality of candidate locations, in one embodiment, alocation closest in time may be selected from the candidate locations,and a potential origin or destination corresponding to the location isdetermined as a missing point (it depends on the type of the missingpoint).

In order to further enhance the accuracy of missing pointidentification, in step S350, the location of the user's last operationmay also be taken into consideration. Specifically, in one embodiment, alocation whose distance from the location where the last operation wasexecuted is less than a predetermined threshold may be selected from theone or more locations. As an example, suppose the user fails in swipingcard to check out of the bus station A, and the last card swiping is anexit card swiping performed at the bus station B. At this point, it maybe determined whether a location C whose distance from the station B isless than a predetermined distance exists in the determined plurality ofcandidate locations, and the location C is arranged with an entry gatenearby. In the case of existence, it may be inferred that abnormalitylikely occurs when checking in at location C to station A after the userchecks out of the bus station B. therefore, the origin corresponding tolocation C may be determined as a missing point.

The principle and mechanism of the present invention has been describedabove with reference to a plurality of example embodiments. It should beunderstood that the embodiments as described above are only example, notintended to limit the scope of the present invention in any manner.Based on the teaching and inspiration provided here, those skilled inthe art can envisage any possible transformations or amendments. Forexample, in the above description, the origin/destination pair isdescribed as a location pair, i.e., an origination location/terminationlocation pair. However, the scope of the present invention is notlimited thereto. Alternatively or additionally, the origin/destinationpair may be a pair of originating time/termination time.

For example, in parking lot or building management, when it is found anoriginating time of entry into the parking lot or building or atermination time of exit from the parking lot or building misses, itsbehavior habit may be inferred based on the user's historical data,thereby completing identification of the missing originating ortermination time. As an example, suppose card swiping error occurs whenthe user attempts to swipe card to check out of the parking lot at 18:10PM. In this case, the missing point is the originating time when theuser entered into the parking lot. In one embodiment, the user'shistorical (popular) origin/destination information can be obtained andanalyzed. If it is found that the user frequently checks in the parkinglot at around 7:30 AM and checks out of the parking lot at around 18:00PM, 7:30 AM may be determined as the missing originating time point.

FIG. 4 shows a schematic block diagram of an apparatus for identifying amissing point in an origin/destination pair according to embodiments ofthe present invention. As shown in the figure, the apparatus 400comprises a current time determining unit 410 configured to, in responseto failure of a current operation for recording an origin/destinationpair associated with a user, determine a current time when the currentoperation is executed; a previous time determining unit 420 configuredto determine a previous time when a last operation for recording anorigin/destination pair was executed; and a missing point identifyingunit 430 configured to identify a missing point causing the failure ofthe current operation based on a time interval between the current timeand the previous time.

In one embodiment, the previous time determining unit 420 may comprise afirst reading unit configured to read the previous time from a terminaldevice of the user.

In one embodiment, the missing point identifying unit 430 may comprise:a popular information obtaining unit configured to, in response to thetime interval being greater than a predetermined threshold, obtaininformation about popular origins and destinations associated with theuser, each popular origin or destination being associated with a time;and a first identifying unit configured to identify the missing pointbased on the information about popular origins and destinations.

In one embodiment, the popular information obtaining unit may comprise asecond reading unit configured to read the information about popularorigins and destinations from a terminal device of the user.

In one embodiment, the first identifying unit may comprise a missingpoint selecting unit configured to select, from among the popularorigins and destinations, a point of a same type as the missing pointwith the associated time prior to the current time as the missing point,the type indicating whether the missing point is an origin or adestination.

In one embodiment, the information about popular origins anddestinations associated with the user includes popularorigin/destination pairs, and the first identifying unit may comprise: areference pair selecting unit configured to select a referenceorigin/destination pair that matches the current operation from amongthe popular origin/destination pairs based on the current time and atype of the missing point, the type indicating whether the missing pointis an origin or a destination; and a reference pair based identifyingunit configured to identify the missing point based on the referenceorigin/destination pair.

In one embodiment, the reference pair based identifying unit maycomprise: an origin identifying unit configured to determine an originin the reference origin/destination pair as the missing point if themissing point is an origin; and a destination identifying unitconfigured to select a popular destination from among the popularorigin/destination pairs as the missing point if the missing point is adestination, such that the time associated with the selected populardestination is immediately adjacent to the time associated with anorigin in the reference origin/destination pair.

In one embodiment, the missing point identifying unit 430 may comprise:a location determining unit configured to, in response to the timeinterval being less than a predetermined threshold, determine one ormore locations reached by the user during the time interval, each of thelocations corresponding to a potential originating location orterminating location of the service; a location selecting unitconfigured to select a location from the one or more locations based ona type of the missing point, the type indicating whether the missingpoint is an originating location or a termination location; and a secondidentifying unit configured to determine the potential originatinglocation or termination location corresponding to the selected locationas the missing point.

In one embodiment, the location selecting unit may comprise: a distancebased selecting unit configured to select a location from among the oneor more locations, a distance between the selected location and alocation where the last operation was executed being less than apredetermined threshold.

It should be noted that for the sake of clarity, FIG. 4 does not showoptional units or sub-units included in the apparatus 400. All featuresand operations as described above are suitable for apparatus 400,respectively, which are therefore not detailed here. Moreover,partitioning of units or subunits in apparatus 400 is example, ratherthan limitative, intended to describe its main functions or operationslogically. A function of one unit may be implemented by a plurality ofother units; on the contrary, a plurality of units may be implemented byone unit. The scope of the present invention is not limited in thisaspect.

Moreover, the units included in the apparatus 400 may be implemented byvarious manners, including software, hardware, firmware or a randomcombination thereof. For example, in some embodiments, the apparatus maybe implemented by software and/or firmware. Alternatively oradditionally, the apparatus 400 may be implemented partially orcompletely based on hardware. for example, one or more units in theapparatus 400 may be implemented as an integrated circuit (IC) chip, anapplication-specific integrated circuit (ASIC), a system on chip (SOC),a field programmable gate array (FPGA), etc. The scope of the presentintention is not limited to this aspect.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A method of identifying an origin/destinationpair in a service, comprising: determining a current time when a currentoperation is executed in response to a failure of the current operationfor recording the origin/destination pair associated with a user;determining a previous time when a last operation for recording theorigin/destination pair was executed; and identifying a missing pointcausing the failure of the current operation based on a time intervalbetween the current time and the previous time.
 2. The method accordingto claim 1, wherein determining the previous time when the lastoperation for recording the origin/destination pair was executedcomprises reading the previous time from a terminal device of the user.3. The method according to claim 1, wherein identifying the missingpoint causing the failure of the current operation based on the timeinterval between the current time and the previous time comprises: inresponse to the time interval being greater than a predeterminedthreshold, obtaining information about popular origins and destinationsassociated with the user, each popular origin or destination beingassociated with a time; and identifying the missing point based on theinformation about popular origins and destinations.
 4. The methodaccording to claim 3, wherein obtaining information about popularorigins and destinations associated with the user comprises reading theinformation about popular origins and destinations from a terminaldevice of the user.
 5. The method according to claim 3, whereinidentifying the missing point based on the information about popularorigins and destinations comprises selecting, from among the popularorigins and destinations, a point of a same type as the missing pointwith the associated time prior to the current time as the missing point,the type indicating whether the missing point is an origin or adestination.
 6. The method according to claim 3, wherein the informationabout popular origins and destinations associated with the user includespopular origin/destination pairs, and wherein identifying the missingpoint based on the information about popular origins and destinationscomprises: selecting a reference origin/destination pair that matchesthe current operation from among the popular origin/destination pairsbased on the current time and a type of the missing point, the typeindicating whether the missing point is an origin or a destination; andidentifying the missing point based on the reference origin/destinationpair.
 7. The method according to claim 6, wherein identifying themissing point based on the reference origin/destination pair comprises:in response to the missing point being an origin, determining an originin the reference origin/destination pair as the missing point; and inresponse to the missing point being a destination, selecting a populardestination from among the popular origin/destination pairs as themissing point, such that the time associated with the selected populardestination is immediately adjacent to the time associated with anorigin in the reference origin/destination pair.
 8. The method accordingto claim 1, wherein the origin/destination pair is a pair of originatinglocation/termination location, and wherein identifying a missing pointcausing the failure of the current operation based on a time intervalbetween the current time and the previous time comprises: in response tothe time interval being less than a predetermined threshold, determiningone or more locations reached by the user during the time interval, eachof the locations corresponding to a potential originating location orterminating location of the service; selecting a location from the oneor more locations based on a type of the missing point, the typeindicating whether the missing point is an originating location or atermination location; and determining the potential originating locationor termination location corresponding to the selected location as themissing point.
 9. The method according to claim 8, wherein selecting alocation from the one or more locations based on a type of the missingpoint comprises selecting a location from among the one or morelocations, a distance between the selected location and a location wherethe last operation was executed being less than a predeterminedthreshold.
 10. The method according to claim 1, wherein theorigin/destination pair comprises at least one of: a pair of originatinglocation/termination location pair, or a pair of originatingtime/termination time.